﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

namespace MoroMoro.Samples.ToDoList.Presentation.Utils
{
    partial class ComboBoxDataSource<T>
    {
        /// <summary>
        /// ComboBox のデータソースとして使用される、値と表示用テキストのペアを表します。
        /// </summary>
        public sealed class DataItem
        {
            /// <summary>
            /// <see cref="DataItem"/> クラスの新しいインスタンスを初期化します。
            /// </summary>
            /// <param name="value">値。</param>
            /// <param name="text">表示用テキスト。</param>
            public DataItem(T value, string text)
            {
                _value = value;
                _text = text;
            }


            /// <summary>
            /// 値。
            /// </summary>
            private readonly T _value;

            /// <summary>
            /// 表示用テキスト。
            /// </summary>
            private readonly string _text;


            /// <summary>
            /// 値を取得します。
            /// </summary>
            public T Value
            {
                get
                {
                    return _value;
                }
            }

            /// <summary>
            /// 表示用テキストを取得します。
            /// </summary>
            public string Text
            {
                get
                {
                    return _text;
                }
            }
        }
    }
}
